package phenix.com.phenixdemo.ui;

import android.app.NotificationManager;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.app.ActionBar;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Bean;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.Extra;
import org.androidannotations.annotations.SystemService;
import org.androidannotations.annotations.ViewById;
import org.androidannotations.annotations.res.StringRes;

import phenix.com.phenixdemo.R;
import phenix.com.phenixdemo.model.ClassTestAA;

/**
 * 一些常用注释的使用方法：
 @AfterInject 定义的方法在类的构造方法执行后执行
 @AfterTextChange定义的方法在TextView及其子类的Text属性改变后执行
 @AfterViews 定义的方法在setContentView后执行
 @Background 定义的方法在后台线程执行
 @BeforeTextChange 定义的方法在TextView及其子类的Text属性改变前执行
 @Click 定义点击监听器
 @EActivity 在Activity中启用Annotations
 @EProvider 在 ContentProvider中启用Annotations
 @EReceive 在BroadcastReceiver中启用Annotations
 @EService 在Service中启用Annotations
 @EView 在自定义的View的子类中启用Annotations
 @Fullscreen 全屏
 @NoTitle 无标题栏
 */

@EActivity(R.layout.activity_activity_a)
public class ActivityAA extends BaseActivity {

    @ViewById
    TextView tv_subtitle;

    @ViewById(R.id.btn_read)
    Button btn_read;


    /**
     *   @BooleanRes
         @ColorStateListRes
         @DrawableRes
         @IntArrayRes
         @IntegerRes
         @LayoutRes
         @MovieRes
         @TextRes
         @TextArrayRes
         @StringArrayRes
     @ColorRes
     @AnimationRes
     @DimensionRes
     @DImensionPixelOffsetRes
     @DimensionPixelSizeRes
     @HtmlRes
     */
    @StringRes(R.string.app_name)
    String appName;//不能设置成私有变量

    @StringRes
    String app_name;

    //需要使用@Bean标签
    @Bean
    ClassTestAA testAA;

    @Extra("extraData")
    String myMessage;
    @Extra
    String extraData;

    @SystemService
    NotificationManager notificationManager;


    @Click(R.id.tv_subtitle)/*@Click(R.id.tv_subtitle,R.id.x,R.id.xx,...)*/
    public void subtitleDetail(){
        Snackbar.make(btn_read,tv_subtitle.getText().toString(),Snackbar.LENGTH_LONG).setAction("Action",null).show();
    }

    @Click
    public void btn_read(){
        final Snackbar snackbar =  Snackbar.make(btn_read,btn_read.getText().toString()+"被点击了...",Snackbar.LENGTH_INDEFINITE);
        snackbar.setAction("GO!", new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        snackbar.dismiss();
                    }
                });
        snackbar.show();
    }

    @AfterViews
    public void init(){
        tv_subtitle.setText(tv_subtitle.getText().toString()+"-初始化完成..."+"--附加数据-"+extraData);
        btn_read.setText(btn_read.getText().toString()+"-初始化完成...");
        testAA.println();
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_activity_a);
        ActionBar actionBar = getSupportActionBar();
        actionBar.setTitle("AndroidAnnotations篇");

    }


}
